package com.sg.dto.biz.calc.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc ImplementTargetScoreFactorsReceivingField002ReqDto
 * @使用场景
 */
@Data
public class ImplementTargetScoreFactorsReceivingField002ReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 通用数值字段（小数型）
     */
    @NotNull(message = "通用数值字段（小数型）不能为空")
    @ApiModelProperty("通用数值字段（小数型）")
    private Double comFloatField;
    /**
     * 主观得分
     */
    @NotNull(message = "主观得分不能为空")
    @ApiModelProperty("主观得分")
    private Double subjectiveScore;

    /**
     * 主客观得分_主观得分权重
     */
    @NotNull(message = "主客观得分_主观得分权重不能为空")
    @ApiModelProperty("主客观得分_主观得分权重")
    private Double subjectiveScoreWeight;
    /**
     * 客观得分
     */
    @NotNull(message = "客观得分不能为空")
    @ApiModelProperty("客观得分")
    private Double objectiveScore;

    /**
     * 主客观得分_客观得分权重
     */
    @NotNull(message = "主客观得分_客观得分权重不能为空")
    @ApiModelProperty("主客观得分_客观得分权重")
    private Double objectiveScoreWeight;
    /**
     * 最近平均分
     */
    @NotNull(message = "最近平均分不能为空")
    @ApiModelProperty("最近平均分")
    private Double processReportAverageScore;

    /**
     * 本级过程得分_最近平均分权重
     */
    @NotNull(message = "本级过程得分_最近平均分权重不能为空")
    @ApiModelProperty("本级过程得分_最近平均分权重")
    private Double processReportScoreAvgWeight;
    /**
     * 过程中期得分
     */
    @NotNull(message = "过程中期得分不能为空")
    @ApiModelProperty("过程中期得分")
    private Double processMidCycleReportScore;

    /**
     * 本级过程得分_过程中期得分权重
     */
    @NotNull(message = "本级过程得分_过程中期得分权重不能为空")
    @ApiModelProperty("本级过程得分_过程中期得分权重")
    private Double processReportScoreProMidWeight;
    /**
     * 中期得分
     */
    @NotNull(message = "中期得分不能为空")
    @ApiModelProperty("中期得分")
    private Double midCycleReportScore;

    /**
     * 本级过程得分_中期目标得分权重
     */
    @NotNull(message = "本级过程得分_中期目标得分权重不能为空")
    @ApiModelProperty("本级过程得分_中期目标得分权重")
    private Double processReportScoreMidWeight;
    /**
     * 下级得分
     */
    @NotNull(message = "下级得分不能为空")
    @ApiModelProperty("下级得分")
    private Double lowReportScore;

    /**
     * 目标得分_下级目标得分权重
     */
    @NotNull(message = "目标得分_下级目标得分权重不能为空")
    @ApiModelProperty("目标得分_下级目标得分权重")
    private Double actualScoreLowerLevelWeight;
    /**
     * 克隆目标得分
     */
    @NotNull(message = "克隆目标得分不能为空")
    @ApiModelProperty("克隆目标得分")
    private Double cloneTargetScore;

}
